home *** CD-ROM | disk | FTP | other *** search
- Basic Installation
- ==================
-
- For more information specific to this package, please read the README
- file. This source code distribution is autoconfiguring and you should be
- able to compile it and install it without manual interventions such as
- editing Makefiles, configuration files, and so on. These are generic
- instructions for people who are not familiar with installing autoconfiguring
- software.
-
- The simplest way to compile this package is to enter the source code
- main directory and do the following:
-
- 1. Configure the source code by typing:
- % sh ./configure
-
- If you're planning to install the package into your home directory
- or to a location other than `/usr/local' then add the flag
- `--prefix=PATH' to `configure'. For example, if your home directory
- is `/home/luser' you can configure the package to install itself there
- by invoking:
- % sh ./configure --prefix=/home/luser
-
- While running, `configure' prints some messages telling which
- features is it checking for.
-
- 2. Compile the package by typing:
- % make
- Running `make' takes a while. If this is a very large package, now
- is the time to go make some coffee.
-
- 3. Some packages are bundled with self-tests for source-code
- verification. If this package includes such tests, you can
- optionally run them after compilation by typing
- % make check
-
- 4. Type `make install' to install the programs and any data files and
- documentation. Type `make uninstall' to undo the installation.
- During installation, the following files go to the following directories:
- Executables -> /prefix/bin
- docs and samples -> /prefix/share/doc/source-highlight
- conf files -> /prefix/share/source-highlight
- where `prefix' is either `/usr/local' or the PATH that you specified
- in the `--prefix' flag.
-
- If any of these directories do not presently exist, they will be
- created on demand.
-
- If you are installing in your home directory make sure that
- `/home/luser/bin' is in your path. If you're using the bash shell
- add this line at the end of your .cshrc file:
- PATH="/home/luser/bin:${PATH}"
- export PATH
- If you are using csh or tcsh, then use this line instead:
- setenv PATH /home/luser/bin:${PATH}
- By prepending your home directory to the rest of the PATH you can
- override systemwide installed software with your own custom installation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'.
-
- Problems
- ========
- You shouldn't get any problem, because configure should succeed in
- finding everything you need, but some Unix systems may not have some
- right settings, especially for C++ directories: one problem encountered
- was on a Sparc: C++ couldn't find include files (such as iostream.h).
- You'll just have to search for one of them (e.g iostream.h)
- and then assign that directory to INCLUDE env.var specifying -I option,
- e.g. if include files are in the directory /usr/include/g++-include, type
-
- export INCLUDE=-I/usr/include/g++-include
-
- under bash shell or
-
- setenv INCLUDE -I/usr/include/g++-include
-
- and run configure once again.
- For instance on that Sparc the directory was
- /export/opt/FSFlibg++/lib/g++-include !!!
-
- If this doesn't work, please mail me your problem at
- bug-source-highlight@gnu.org.
-
- Compiler configuration
- ======================
-
- The `configure' shell script is responsible for choosing and configuring
- the compiler(s).
-
- The following options allow you to specify whether you
- want to enable or disable various debugging mechanisms:
-
- `--enable-warnings'
- Make the compilers very picky about warnings. Try this whenever you
- write new code since it may catch a few bugs. This is not active by
- default because all too often warnings can be too picky and scare
- the end-user.
-
- `--enable-input-chroot'
- hardcode in the program the path to prepend for input files.
- Useful when the programs are built for CGI, in order to hide,
- in the html page, the real structure of the server file system.
-
- All programs are compiled with optimization level 2 by default (-O2).
- Occasionally that confuses the debugger when code is inlined. To disable
- optimization and enable debugging, set the shell environment variables
- CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this
- like this:
- $ export CFLAGS="-g"
- $ export CXXFLAGS="-g"
- $ export FFLAGS="-g"
- On the tcsh shell, use the `setenv' command instead:
- % setenv CFLAGS "-g"
- ...etc...
- For other shell, please consult your shell's documentation.
-
- Similarly, you can increase the optimization level by assigning these
- variables to "-g -O3".
-
- Depending on what languages the package uses, some of these options may
- or may not be available. To see what is available, type:
- % sh ./configure --help
-
- About the configure script
- ==========================
-
- The `configure' shell script attempts to guess correct values for
- various system-dependent variables used during compilation. It uses
- those values to create a `Makefile' in each directory of the package.
- It may also create one or more `.h' files containing system-dependent
- definitions. Finally, it creates a shell script `config.status' that
- you can run in the future to recreate the current configuration, a file
- `config.cache' that saves the results of its tests to speed up
- reconfiguring, and a file `config.log' containing compiler output
- (useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
- to figure out how `configure' could check whether to do them, and mail
- diffs or instructions to the address given in the `README' so they can
- be considered for the next release. If at some point `config.cache'
- contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
- called `autoconf'. You only need `configure.in' if you want to change
- it or regenerate `configure' using a newer version of `autoconf'.
-
- Advanced installation options.
- ==============================
-
- The `configure' script also understands the following more advanced
- options, to handle situations for which `--prefix' alone is not sufficient.
-
- You can specify separate installation prefixes for
- architecture-specific files and architecture-independent files. If you
- give `configure' the option `--exec-prefix=PATH', the package will use
- PATH as the prefix for installing programs and libraries.
- Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
- options like `--bindir=PATH' to specify different values for particular
- kinds of files. Run `configure --help' for a list of the directories
- you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
- with an extra prefix or suffix on their names by giving `configure' the
- option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
- Optional Features
- =================
-
- Some packages pay attention to `--enable-FEATURE' options to
- `configure', where FEATURE indicates an optional part of the package.
- They may also pay attention to `--with-PACKAGE' options, where PACKAGE
- is something like `gnu-as' or `x' (for the X Window System). The
- `README' should mention any `--enable-' and `--with-' options that the
- package recognizes.
-
- For packages that use the X Window System, `configure' can usually
- find the X include and library files automatically, but if it doesn't,
- you can use the `configure' options `--x-includes=DIR' and
- `--x-libraries=DIR' to specify their locations.
-
- --------------------
-
- Please send all bug reports by electronic mail to:
- bug-source-highlight@gnu.org
-
- My home page is
- http://www.lorenzobettini.it
-
- source-highlight is free GPL software.
- See the file COPYING for copying conditions.
- Anyway I won't get offended if you send me a postcard :-)
-